package Day_0209.NetWork;

/**
 * @author zxc
 * @date 2023/02/09 22:53
 **/
public class TCP_Unconnection {
    public static void main(String[] args) {
        /**
         * 断开TCP连接的过程（四次挥手）
         * ===》
         * 断开一个TCP连接，则需要“四次挥手”
         * 1.第一次挥手 ：
         * （1）主动关闭方发送一个FIN，用来关闭主动方到被动关闭方之间的数据传送;
         * （2）也就是主动关闭方告诉被动关闭方：我已经不会再给你发数据了;
         * (当然，在fin包之前发送出去的数据，如果没有收到对应的ack确认报文，主动关闭方依然会重发这些数据)
         * （3）此时,主动关闭方还可以接受数据。
         *
         * 2.第二次挥手
         * （1）被动关闭方收到FIN包后，发送一个ACK给对方，确认序号为收到序号+1;
         * （与SYN相同，一个FIN占用一个序号）。
         *
         * 3.第三次挥手
         * （1）被动关闭方发送一个FIN，用来关闭被动关闭方到主动关闭方之间的数据传送，
         * （2）也就是告诉主动关闭方，我的数据也发送完了，不会再给你发数据了。
         *
         * 4.第四次挥手
         * （1）主动关闭方收到FIN后，发送一个ACK给被动关闭方，确认序号为收到序号+1。
         *
         * ===》 综上所述，即完整的一次TCP连接断开操作;
         *
         */
    }
}
